iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
佛心分享-IT 人自學之術

ASP.NET Core 30日成長路系列 第 22

Day22:Tag Helpers vs Html Helpers

  • 分享至 

  • xImage
  •  

Tag Helpers vs Html Helpers


Tag Helpers是什麼
Tag Helpers主要是用來擴充HTML elements屬性與功能的,可以在HTML Helpers中加入asp-for或者asp-xxx等屬性,且在語意上會比HTML Helpers來的更直覺與清楚。
這些屬性可以指定C#程式,使Server端可參與HTML的建立與轉譯。

補充📄原始HTML+Tag Helpers的好處
1.原始HTML元素在使用上較直覺,語意也較清楚。
2.能讓Server端的C#與.NET物件參與View的設計。
3.透過簡單的語法就能產出複雜的HTML結構。

Tag Helpers的優點

1.HTML友善的開發經驗:
多數情況下,使用Tag Helpers就像使用HTML一樣。
2.為HTML與Razor markup提供較豐富的IntelliSense環境:
IntelliSense對Tag Helpers來說更具支援性,可對Model屬性有更好的智慧型提示與錯誤檢測。
3.使用Server端的C#物件來產生更強健、易維護、具生產力的程式:
可結合Server端的C#與物件,在語法上會更好維護,也能提高生產力。

Tag Helpers & Html Helpers的利與弊
在前面我們了解了關於Tag Helpers的優勢之後,不知道大家會不會想說:「啊這樣我們還需要用HTML Helpers嗎?」
我想,這個答案可能不太一定。
因為在這兩者間,新的Tag Helpers雖然有非常佔據優勢的功能,但它也欠缺了一些舊的HTML Helpers才有的功能,真的要二擇一是不太可能的。

目前在一些Scaffolding自動產生的基本的檢視中,目前主要是優先使用Tag Helpers為主,HTML Helpers為副。
這樣看來HTML Helpers好像只能當配角的樣子,其實也不一定。
下面我們就來再看一些HTML Helpers當主角的時候:

1.Tag Helpers並未實作HTML Helpers所有的功能,例如多載方法在Tag Helpers中並不支援,因此若你所需的功能Tag Helpers不支援,就還是得用HTML Helpers做。
2.從以前的ASP.NET MVC轉移到ASP.NET Core MVC後,HTML Helpers仍然可以運行,因此在維護上一代所開發出的專案時,我們還是得使用HTML Helpers。

綜上所述,在Tag Helpers可以表現得更好的時候就用它,沒辦法用Tag Helpers的時候就用HTML Helpers,兩者存在並不會衝突。

那麼以上就是今天的分享啦~終於不是在截止前寫完了~
明天見啦~See YA(。•̀ᴗ-)


上一篇
Day21:什麼是Partial View(部分檢視)
下一篇
Day23:Tag Helpers搭配Razor使用的常見語法
系列文
ASP.NET Core 30日成長路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言